package com.opcode.nebulamobil.information.requests.costarequests;

import com.opcode.nebulamobil.information.requests.JSONRequest;

/**
 * Siparişin garson tarafından masaya götürüldüğünü sunucuya bildiren request objesidir.
 * Karşılığında bir cevap beklemez.
 * @author 	Okan ERDOĞAN
 * @version	1.0.0
 * @since	com.opcode.costa 1.0.0
 */
public class DeliveryConfirmReq extends JSONRequest {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * Teslim alınmaya gidilecek olan masanın kimlik numarasını tutacak olan değişkendir.
	 * @since	com.opcode.costa 1.0.0
	 */
	private long tableId;
	
	private long orderID;
	
	/**
	 * Siparişin alınmaya gidilip gidilmediğini bildiren değişkendir. Eğer bu değer {@code true} ise alınmaya
	 * gidilmesi kabul edilmiş, {@code false} ise reddedilmiş anlamındadır.
	 * @since	com.opcode.costa 1.0.0
	 */
	private boolean operation;

	/**
	 * Teslimat yanıtının verileceği masanın kimlik numarasını elde etmek için kullanılacak olan uygulamadır.
	 * @return	Teslimat yanıtının verildiği siparişin ait olduğu masa kimlik nunmarasıdır.
	 */
	public long getTableId() {
		return this.tableId;
	}

	/**
	 * Siparişin teslim yanıtının verileceği masasının kimlik numarasını ayarlamak için kullanılacak olan uygulamadır.
	 * @param 	tableId Ayarlanacak olan masa kimlik numarasıdır.
	 */
	public void setTableId(long tableId) {
		this.tableId = tableId;
	}

	/**
	 * Sipariş teslimatı ile ilgili yanıtın elde edileceği uygulamadır
	 * @return	Eğer teslimat kabul edilmiş ise geriye {@code true} aksi halde geriye {@code false} dönecektir.
	 */
	public boolean isOperation() {
		return this.operation;
	}

	/**
	 * Siparişin teslimatı ile ilgili yanıtının ayarlanacağı uygulamadır.
	 * @param 	operation Eğer teslimat kabul edilmiş ise {@code true} aksi halde {@code false} değer girilecektir.
	 */
	public void setOperation(boolean operation) {
		this.operation = operation;
	}

	/**
	 * Sipariş kimlik numarasını elde etmek için kullanılacak olan uygulamadır.
	 * @return 	Geriye sipariş kimlik numarası dönecektir.
	 * @since	com.opcode.costa 1.0.0
	 */
	public long getOrderID() {
		return this.orderID;
	}

	/**
	 * Sipariş kimlik numarasını ayarlamak için kullanılacak olan uygulamadır.
	 * @param 	orderID Ayarlanacak olan sipariş kimlik numarasıdır.
	 * @since	com.opcode.costa 1.0.0
	 */
	public void setOrderID(long orderID) {
		this.orderID = orderID;
	}
}
